<?php
class Sql {
	
	public static function numero ($valor) {
		
		if (trim(strval($valor)) == "") {
			return null;	
		} else {
			$numero = self::cNumero($valor); 
			$numero = (round($numero * 100) / 100);	// redondeamos a 2 decimales

			return $numero;
		}
	} 
	
	public static function texto($valor) {
		if (trim(strval($valor)) == "") {
			return null;				
		} else {
			return trim($valor);			
		}
	}
	
	public static function fecha($valor) {
		
		if (trim(strval($valor)) == "") {
			return null;
		} else {			
			return self::cFecha($valor);
		}
	}
	
	public static function fechaHora($valor) {
	
		if (trim(strval($valor)) == "") {
			return null;
		} else {
			$aux = explode(" ", $valor);
			$fecha = self::cFecha($aux[0]);
			$hora = "";
			if (count($aux) == 2) {
				$hora = $aux[1];
			}
				
			return $fecha." ".$hora;
		}
	}
	
	private static function cNumero($valor) {
	
		$valor = str_replace(".", "", $valor);
		$valor = str_replace(",", ".", $valor);

		return $valor;
	}
	
	private static function cFecha($valor) {
	
		$aux = explode("/",$valor);

		if (count($aux) == 3) {
			$fecha = $aux[2]."-".$aux[1]."-".$aux[0];
			return $fecha;
		} else {
			return null;
		}
	}
	
	public static function frmCampo($valor, $tipo) {
		
		switch($tipo) {
			case "int":
			case "tinyint":
			case "decimal":
				return self::numero($valor);
				break;
			case "varchar":
			case "text":
				return self::texto($valor);
				break;	
			case "date":
			case "datetime":
				return self::fechaHora($valor);
				break;
			case "timestamp":
				return date("Y-m-d H:i:s");
				break;
		}
		
		return null;
	}
}
?>